package com.grj.parking.drools.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import lombok.Data;

/**
 * 预约支付记录表
 * @TableName reservation_payment
 */
@TableName(value ="reservation_payment")
@Data
public class ReservationPayment implements Serializable {
    /**
     * 支付记录ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 预约ID
     */
    @TableField(value = "reservation_id")
    private Long reservationId;

    /**
     * 预约单号
     */
    @TableField(value = "reservation_no")
    private String reservationNo;

    /**
     * 租户ID
     */
    @TableField(value = "tenant_id")
    private Long tenantId;

    /**
     * 用户ID
     */
    @TableField(value = "user_id")
    private Long userId;

    /**
     * 支付金额
     */
    @TableField(value = "amount")
    private BigDecimal amount;

    /**
     * 支付方式：WECHAT-微信，ALIPAY-支付宝，BALANCE-余额
     */
    @TableField(value = "pay_type")
    private String payType;

    /**
     * 第三方支付单号
     */
    @TableField(value = "pay_no")
    private String payNo;

    /**
     * 状态：PENDING-待支付，SUCCESS-成功，FAILED-失败，REFUNDED-已退款
     */
    @TableField(value = "status")
    private String status;

    /**
     * 退款金额
     */
    @TableField(value = "refund_amount")
    private BigDecimal refundAmount;

    /**
     * 退款单号
     */
    @TableField(value = "refund_no")
    private String refundNo;

    /**
     * 支付时间
     */
    @TableField(value = "pay_time")
    private Date payTime;

    /**
     * 退款时间
     */
    @TableField(value = "refund_time")
    private Date refundTime;

    /**
     * 
     */
    @TableField(value = "create_time")
    private Date createTime;

    /**
     * 
     */
    @TableField(value = "update_time")
    private Date updateTime;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}